﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data.Linq;

public partial class ProviderAccount : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (Session["RandomKey"] == null)
        {
            Session["RandomKey"] = Path.GetRandomFileName().Replace(".", "").ToUpper();
        }
        if (Session["TaiKhoan"] != null)
        {

            if (IsTaiKhoan() == null)
            {
                NhaCungCap nccSession = (NhaCungCap)Session["TaiKhoan"];
                if (Request.Form["act"] == null)
                {
                    txtUpdateProviderName.Text = nccSession.ProviderName;
                    txtUpdatePartnerUsername.Text = nccSession.PartnerID;
                    txtUpdateCreditCardNumber.Text = nccSession.CreditCardNumber;
                    txtUpdateLinkWS.Text = nccSession.LinkWS;
                }
                else
                {
                    if (InValidateForm() == false && Request.Form["act"] != null)
                    {
                        NhaKinhDoanhDataContext db = new NhaKinhDoanhDataContext();
                        var ncc = (from n in db.NhaCungCaps
                                   where n.ProviderID.Trim().ToLower().Equals(nccSession.ProviderID.Trim().ToLower())
                                   select n).Single();

                        ncc.ProviderPwd = MD5Hash.GetMd5Hash(txtUpdateProviderPassword.Text);
                        ncc.ProviderName = txtUpdateProviderName.Text;
                        ncc.PartnerID = txtUpdatePartnerUsername.Text;
                        ncc.PartnerPwd = MD5Hash.GetMd5Hash(txtUpdatePartnerPassword.Text);
                        ncc.CreditCardNumber = txtUpdateCreditCardNumber.Text;
                        ncc.LinkWS = txtUpdateLinkWS.Text;

                        db.SubmitChanges();
                        lblUpdate.Visible = true;
                        lblUpdate.Text = string.Format("Cập nhật thành công!<br/><br/>", ncc.ProviderID);
                    }
                }
            }
            else
            {
                Response.Redirect("RegisterProvider.aspx");
            }


        }
        else
        {
            Response.Redirect("RegisterProvider.aspx");
        }
    }

    private TaiKhoan IsTaiKhoan() {
        TaiKhoan tk = null;
        try
        {
            tk = (TaiKhoan)Session["TaiKhoan"];           
        }
        catch
        {
                     
        }
        return tk;
    }
    protected void txtUpdateConfirmProviderPassword_TextChanged(object sender, EventArgs e)
    {
        if (txtUpdateProviderPassword.Text != txtUpdateConfirmProviderPassword.Text) {
            ErrorUpdateConfirmProviderPassword.InnerText = "Xác nhận mật khẩu không trùng khớp.";          
        }
    }

    public void clearError(TextBox textbox)
    {
        textbox.Text = "";
    }

    public bool InValidateForm() {
        bool error = false;
        
        //mat khau
        if (txtUpdateProviderPassword.Text == "") {
            txtUpdateProviderPassword.Focus();
           ErrorUpdateProviderPassword.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }else
            ErrorUpdateProviderPassword.InnerHtml = "";
        

        //xac nhan mat khau

        if (txtUpdateConfirmProviderPassword.Text == "") {
            txtUpdateConfirmProviderPassword.Focus();
           ErrorUpdateConfirmProviderPassword.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else {
            if (txtUpdateProviderPassword.Text != txtUpdateConfirmProviderPassword.Text)
            {
                ErrorUpdateConfirmProviderPassword.InnerText = "Xác nhận mật khẩu không trùng khớp.";
                error = true;
            }else
                ErrorUpdateConfirmProviderPassword.InnerHtml = "";
        }

        

        //ten nha cung cap
        if (txtUpdateProviderName.Text == "") {
            txtUpdateProviderName.Focus();
            ErrorUpdateProviderName.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }else
            ErrorUpdateProviderName.InnerHtml = "";
        

        //ten dang nhap nha cung cap
        if (txtUpdatePartnerUsername.Text == "") {
            txtUpdatePartnerUsername.Focus();
            ErrorUpdatePartnerUsername.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }else
            ErrorUpdatePartnerUsername.InnerHtml = "";
        

        //mat khau nha cung cap
        if (txtUpdatePartnerPassword.Text == "") {
            txtUpdatePartnerPassword.Focus();
            ErrorUpdatePartnerPassword.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }else
            ErrorUpdatePartnerPassword.InnerHtml = "";
        


        //credit card number
        if (txtUpdateCreditCardNumber.Text == "") {
            txtUpdateCreditCardNumber.Focus();
            ErrorUpdateCreditCardNumber.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }else
            ErrorUpdateCreditCardNumber.InnerHtml = "";
        



        //link ws
        if (txtUpdateLinkWS.Text == "") {
            txtUpdateLinkWS.Focus();
            ErrorUpdateLinkWS.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }else
            ErrorUpdateLinkWS.InnerHtml = "";
       
        
        return error;
    }
}